With the advent of the computer age, computer and software users have grown accustomed to user-friendly software applications that help them write, calculate, organize, prepare presentations, send and receive electronic mail, make music, and the like. For example, modern electronic word processing applications allow users to prepare a variety of useful documents. Modern spreadsheet applications allow users to enter, manipulate, and organize data. Modern electronic slide presentation applications allow users to create a variety of slide presentations containing text, pictures, data or other useful objects.
To assist users to locate and utilize functionality of a given software application, a user interface containing a plurality of generic functionality controls is typically provided along an upper, lower or side edge of a displayed workspace in which the user may enter, copy, manipulate and format text or data. Such functionality controls often include selectable buttons with such names as “file,” “edit,” “view,” “insert,” “format,” and the like. Typically, selection of one of these top-level functionality buttons, for example “format,” causes a drop-down menu to be deployed to expose one or more selectable functionality controls associated with the top-level functionality, for example “font” under a top-level functionality of “format.”
After a user selects a desired functionality control, or if the user moves the mouse cursor to a different location, the drop-down menu typically disappears. If the user determines that functionality of the first drop-down menu was the desired functionality, the user must remember which top-level functionality was selected, reselect that functionality and then find the desired functionality control all over again. Accordingly, in order to use the functionality of a given software application, the user must know the desired functionality is available under one of the selectable buttons, or the user must select different top-level functionalities until the desired specific functionality is located. Such a method of searching for desired functionality is cumbersome and time-consuming, particularly for less experienced users, and when new functionality is added by developers of the software application, the new functionality may never be utilized unless the user is somehow educated as to its existence.
Accordingly, there is a need in the art for an improved functionality command user interface for displaying selectable software functionality controls and for presenting logical groupings of particular functionality controls associated with a selected top-level functionality. It is with respect to these and other considerations that the present invention has been made.